home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.4 Applications 1997 August / SGI IRIX 6.4 Applications 1997 August.iso / dist / demos.idb / usr / demos / General_Demos / bzflag / RUN.z / RUN
Encoding:
Text File  |  1997-06-26  |  933 b   |  39 lines

  1. #!/usr/sbin/perl
  2. #Tag 0x907F
  3.  
  4. $ENV{'DISPLAY'} = "localhost:0.0";
  5. $ENV{'HOME'} = "/tmp";
  6.  
  7. $results = `/usr/bin/ps -e | /usr/bin/grep bzfs`;
  8.  
  9. if ($results) {
  10.     `/usr/demos/General_Demos/bzflag/bzflag>/dev/null&`;
  11. } else {
  12.     &alert;
  13.     sleep 1;
  14.     `/usr/demos/General_Demos/bzflag/bzflag>/dev/null&`;
  15.  
  16. }
  17. sub alert {
  18.     unless ($pid = fork) {
  19.         unless (fork) {
  20.             sleep 1 until getppid == 1;
  21.             $SYSVoffset = 1000;                     # SGI/SYSV specific
  22.             $SYS_close = 6+$SYSVoffset;
  23.     
  24.             # Try to shutdown all file-descriptors
  25.             for ($i = 0; $i < 20; $i++) {
  26.                 syscall($SYS_close, $i);
  27.             }
  28.             open(CMD, "/usr/demos/General_Demos/bzflag/bzfs>/dev/null&|");
  29.             close(CMD);
  30.             open(CMD, "/usr/bin/X11/xconfirm -header \"Bzflag\" -B \"Stop Server\"  -t \"The bzflag network server is running.\"  -t \"Click stop to terminate.\" -icon info|");
  31.             read(CMD, $out, 100);
  32.             close(CMD);
  33.             `/sbin/killall bzfs`;
  34.             exit 0;
  35.             }
  36.         exit 0;
  37.     }
  38. }
  39.